﻿using System;
using System.Runtime.Serialization;
using NCMIS.ObjectModel.MetaData;

namespace NCMIS.Produce
{
    /// <summary>
    /// Specifies the repositories level of support for ACLs.
    /// </summary>
    [DataContract(Namespace = CmisNs.Cmis)]
    public enum CapabilityAcl
    {
        /// <summary>
        /// Indicates that ACLs are not supported by the repository.
        /// </summary>
        [EnumMember(Value = "none")]
        None,

        /// <summary>
        /// Indicates that the service method <code>getACL</code> is available.
        /// </summary>
        [EnumMember(Value = "discover")]
        Discover,

        /// <summary>
        /// Indicates that the service methods <code>getACL</code> and <code>applyACL</code> are available.
        /// </summary>
        [EnumMember(Value = "manage")]
        Manage,
    }
}
